package com.chh.nonstandardjson;

import org.apache.commons.lang3.StringUtils;

import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.util.List;

/**
 * 不将
 * {1:"xxxx",2:"xxxxx"}
 * 这种key为非字符类型的json数据转成key为字符串的map的json解析器
 */
public class NonStandardJSON {
    public static Object parseObject(String jsonText) {
        try {
            if(StringUtils.isBlank(jsonText)) {
                return jsonText;
            }
            JsonStringReader reader = new JsonStringReader("[" + jsonText + "]");
            JsonLexer lexer = new JsonLexer(reader);
            JsonParser jsonParser = new JsonParser(lexer);
            List jsonObject = (List)jsonParser.parse();
            return jsonObject.get(0);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}
